.TUI-contact {
    position: relative;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    display: flex;
  
    &-left {
      position: relative;
      flex: 1;
      min-width: 285px;
      flex: 0 0 24%;
      overflow-y: auto;
  
      &-header {
        position: sticky;
        top: 0;
        z-index: 1;
        display: flex;
        justify-content: space-between;
        align-items: center;
  
        input {
          flex: 1;
          margin-right: 20px;
        }
        .uni-input {
          height: 40px;
        }
      }
    }
  
    &-column {
      flex: 1;
      display: flex;
      flex-direction: column;
      position: absolute;
      width: 100%;
  
      &-item {
        .num {
          width: 14px;
          height: 14px;
          border-radius: 100%;
          font-size: 12px;
          display: flex;
          justify-content: center;
          align-items: center;
        }
  
        header {
          display: flex;
          align-items: center;
          padding: 10px 15px;
  
          main {
            flex: 1;
            padding-left: 6px;
            display: flex;
            justify-content: space-between;
            font-size: 14px;
            line-height: 14px;
          }
        }
      }
    }
  
    &-main {
      flex: 1;
      display: flex;
      position: relative;
      width: 100%;
      height: 100%;
  
      &-info {
        flex: 1;
        padding: 2rem 3rem;
        display: flex;
        flex-direction: column;
  
        &-header {
          display: flex;
          justify-content: space-between;
          padding-bottom: 15px;
  
          .list {
            h1 {
              font-size: 20px;
              padding-bottom: 10px;
            }
  
            li {
              font-size: 16px;
              padding: 6px 0;
            }
          }
  
          .avatar {
            width: 5rem;
            height: 5rem;
          }
        }
  
        &-main {
          padding-top: 1.25rem;
          display: flex;
          flex-direction: column;
  
          label {
            font-size: 0.88rem;
            line-height: 1.25rem;
            ;
            padding-bottom: 0.63rem;
          }
  
          textarea {
            resize: none;
            width: 100%;
            box-sizing: border-box;
            height: 5rem;
            padding: 0.69rem 0.88rem;
            font-size: 0.88rem;
            line-height: 1.25rem;
          }
        }
  
        &-footer {
          padding-top: 1.25rem;
          display: flex;
          justify-content: center;
  
          .btn {
            margin: 0 20px;
  
            &:first-child {
              margin-left: 0;
            }
  
            &:last-child {
              margin-right: 0;
            }
          }
        }
      }
  
      &-created {
        li {
          display: flex;
          align-items: center;
  
          input {
            margin-right: 20px;
          }
        }
      }
    }
  
    &-system {
      display: flex;
      flex-direction: column;
      width: 100%;
      height: 100%;
      position: absolute;
      overflow-y: auto;
  
      &-header {
        padding: 20px;
        display: flex;
        justify-content: space-between;
        align-items: center;
  
        h1 {
          font-size: 16px;
          line-height: 24px;
        }
      }
    }
  }
  
  .TUI-contact-list {
    flex: 1;
    width: 100%;
    list-style: none;
  
    &-item {
      padding: 10px 15px;
      position: relative;
      display: flex;
      align-items: center;
  
      label {
        font-size: 14px;
      }
  
      &:hover {
        .icon-close {
          display: inline-block;
        }
      }
  
      .left {
        position: relative;
        width: 36px;
        height: 36px;
  
        .num {
          position: absolute;
          display: inline-block;
          right: -8px;
          top: -8px;
          width: 20px;
          height: 20px;
          font-size: 10px;
          text-align: center;
          line-height: 20px;
          border-radius: 50%;
        }
  
        .avatar {
          width: 100%;
          border-radius: 5px;
        }
  
        .online-status {
          box-sizing: border-box;
          position: absolute;
          width: 11px;
          height: 11px;
          left: 30px;
          top: 27px;
          border: 2px solid #ffffff;
          box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.102606);
          border-radius: 50%;
  
          &-online {
            background: #29CC85;
          }
  
          &-offline {
            background: #A4A4A4;
          }
        }
      }
  
      .content {
        flex: 1;
        padding-left: 8px;
        display: flex;
        justify-content: space-between;
        align-items: center;
  
        ul {
          flex: 1;
          display: flex;
          flex-direction: column;
  
          li {
            flex: 1;
            display: flex;
            align-items: center;
            font-size: 14px;
            line-height: 16px;
  
            span {
              flex: 1;
              width: 0;
              overflow: hidden;
              text-overflow: ellipsis;
              white-space: nowrap;
            }
          }
  
          .name {
            padding-bottom: 2px;
          }
        }
  
        .type {
          padding: 0 4px;
          line-height: 14px;
          font-size: 12px;
          border-radius: 1px;
        }
      }
    }
  
    .not-aside {
      padding-left: 40px;
      display: flex;
      justify-content: space-between;
    }
  }
  
  .reduce {
    position: relative;
    display: inline-block;
    width: 36px;
    height: 36px;
  
    &::before {
      position: absolute;
      content: "";
      width: 50%;
      height: 1px;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      margin: auto;
    }
  }
  
  .center {
    display: flex;
    justify-content: center;
  }
  
  .btn {
    padding: 8px 20px;
    border-radius: 4px;
    border: none;
    font-size: 14px;
    text-align: center;
    line-height: 20px;
  }
  
  input {
    box-sizing: border-box;
    border-radius: 5px;
    padding: 10px;
  }
  
  .search {
    flex: 1;
    display: flex;
    padding: 12px;
  
    &-box {
      flex: 1;
      display: flex;
      align-items: center;
  
      h1 {
        padding: 2px 8px;
        font-size: 14px;
      }
  
      .input-box {
        display: flex;
        position: relative;
        flex: 1;
  
        input {
          flex: 1;
          margin-right: 0;
        }
  
        .icon {
          position: absolute;
          right: 10px;
          top: 0;
          bottom: 0;
          margin: auto 0;
        }
      }
  
      .search-cancel {
        padding-left: 10px;
        font-size: 12px;
        line-height: 18px;
      }
    }
  }